﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Microsoft.Xna.Framework;
using Microsoft.Xna.Framework.Audio;
using Microsoft.Xna.Framework.Content;
using Microsoft.Xna.Framework.GamerServices;
using Microsoft.Xna.Framework.Graphics;
using Microsoft.Xna.Framework.Input;
using Microsoft.Xna.Framework.Media;

namespace Quarto
{
    public class Liste_Piece
    {
        private Piece[] liste_piece_depart;
        private bool[] liste_piece_posee;

        public bool[] Liste_piece_posee
        {
            get { return liste_piece_posee; }
            set { liste_piece_posee = value; }
        }

        public Piece[] Liste_piece_depart
        {
            get { return liste_piece_depart; }
            set { liste_piece_depart = value; }
        }

        public Liste_Piece()
        {
            this.liste_piece_depart = new Piece[16];
            this.liste_piece_posee = new bool[16];
            for(int i=0;i<16;i++)
            {
                liste_piece_posee[i] = false;
            }
        }

        //a faire
        //public get_piece_liste_piece()

        public void initialiser_liste_depart(ContentManager Content)
        {
            Piece temp = new Piece(Piece.Couleur.Bleu, Piece.Taille.Grand, Piece.Trou.Non, Piece.Forme.Carré,
                Content.Load<Texture2D>("Gros_Carre_B_NT"), 20, 10, 80);
            liste_piece_depart[0] = temp;

            temp = new Piece(Piece.Couleur.Rouge, Piece.Taille.Grand, Piece.Trou.Non, Piece.Forme.Carré,
                Content.Load<Texture2D>("Gros_Carre_R_NT"), 20 + Jeu.TAILLE_PIECE_MENU, 10 + (1 / 2) * Jeu.TAILLE_PIECE_MENU, 80);
            liste_piece_depart[1] = temp;

            temp = new Piece(Piece.Couleur.Bleu, Piece.Taille.Grand, Piece.Trou.Oui, Piece.Forme.Carré,
                Content.Load<Texture2D>("Gros_Carre_B_T"), 20, 10 + Jeu.TAILLE_PIECE_MENU, 80);
            liste_piece_depart[2] = temp;

            temp = new Piece(Piece.Couleur.Rouge, Piece.Taille.Grand, Piece.Trou.Oui, Piece.Forme.Carré,
                Content.Load<Texture2D>("Gros_Carre_R_T"), 20 + (3 % 2) * Jeu.TAILLE_PIECE_MENU, 10 + (3 / 2) * Jeu.TAILLE_PIECE_MENU, 80);
            liste_piece_depart[3] = temp;

            temp = new Piece(Piece.Couleur.Bleu, Piece.Taille.Grand, Piece.Trou.Non, Piece.Forme.Rond,
                Content.Load<Texture2D>("Gros_Rond_B_NT"), 20, 10 + 2 * Jeu.TAILLE_PIECE_MENU, 80);
            liste_piece_depart[4] = temp;

            temp = new Piece(Piece.Couleur.Rouge, Piece.Taille.Grand, Piece.Trou.Non, Piece.Forme.Rond,
                Content.Load<Texture2D>("Gros_Rond_R_NT"), 20 + Jeu.TAILLE_PIECE_MENU, 10 + (5 / 2) * Jeu.TAILLE_PIECE_MENU, 80);
            liste_piece_depart[5] = temp;

            temp = new Piece(Piece.Couleur.Bleu, Piece.Taille.Grand, Piece.Trou.Oui, Piece.Forme.Rond,
                Content.Load<Texture2D>("Gros_Rond_B_T"), 20, 10 + 3 * Jeu.TAILLE_PIECE_MENU, 80);
            liste_piece_depart[6] = temp;

            temp = new Piece(Piece.Couleur.Rouge, Piece.Taille.Grand, Piece.Trou.Oui, Piece.Forme.Rond,
                Content.Load<Texture2D>("Gros_Rond_R_T"), 20 + Jeu.TAILLE_PIECE_MENU, 10 + (7 / 2) * Jeu.TAILLE_PIECE_MENU, 80);
            liste_piece_depart[7] = temp;

            temp = new Piece(Piece.Couleur.Bleu, Piece.Taille.Petit, Piece.Trou.Non, Piece.Forme.Carré,
                Content.Load<Texture2D>("Petit_Carre_B_NT"), 20, 10 + 4 * Jeu.TAILLE_PIECE_MENU, 80);
            liste_piece_depart[8] = temp;

            temp = new Piece(Piece.Couleur.Rouge, Piece.Taille.Petit, Piece.Trou.Non, Piece.Forme.Carré,
                Content.Load<Texture2D>("Petit_Carre_R_NT"), 20 + Jeu.TAILLE_PIECE_MENU, 10 + (9 / 2) * Jeu.TAILLE_PIECE_MENU, 80);
            liste_piece_depart[9] = temp;

            temp = new Piece(Piece.Couleur.Bleu, Piece.Taille.Petit, Piece.Trou.Oui, Piece.Forme.Carré,
                Content.Load<Texture2D>("Petit_Carre_B_T"), 20, 10 + 5 * Jeu.TAILLE_PIECE_MENU, 80);
            liste_piece_depart[10] = temp;

            temp = new Piece(Piece.Couleur.Rouge, Piece.Taille.Petit, Piece.Trou.Oui, Piece.Forme.Carré,
                Content.Load<Texture2D>("Petit_Carre_R_T"), 20 + Jeu.TAILLE_PIECE_MENU, 10 + (11 / 2) * Jeu.TAILLE_PIECE_MENU, 80);
            liste_piece_depart[11] = temp;

            temp = new Piece(Piece.Couleur.Bleu, Piece.Taille.Petit, Piece.Trou.Non, Piece.Forme.Rond,
                Content.Load<Texture2D>("Petit_Rond_B_NT"), 20, 10 + 6 * Jeu.TAILLE_PIECE_MENU, 80);
            liste_piece_depart[12] = temp;

            temp = new Piece(Piece.Couleur.Rouge, Piece.Taille.Petit, Piece.Trou.Non, Piece.Forme.Rond,
                Content.Load<Texture2D>("Petit_Rond_R_NT"), 20 + Jeu.TAILLE_PIECE_MENU, 10 + (13 / 2) * Jeu.TAILLE_PIECE_MENU, 80);
            liste_piece_depart[13] = temp;

            temp = new Piece(Piece.Couleur.Bleu, Piece.Taille.Petit, Piece.Trou.Oui, Piece.Forme.Rond,
                Content.Load<Texture2D>("Petit_Rond_B_T"), 20, 10 + 7 * Jeu.TAILLE_PIECE_MENU, 80);
            liste_piece_depart[14] = temp;

            temp = new Piece(Piece.Couleur.Rouge, Piece.Taille.Petit, Piece.Trou.Oui, Piece.Forme.Rond,
                Content.Load<Texture2D>("Petit_Rond_R_T"), 20 + Jeu.TAILLE_PIECE_MENU, 10 + (15 / 2) * Jeu.TAILLE_PIECE_MENU, 80);
            liste_piece_depart[15] = temp;
        }

    }
}
